package com.ruoyi.web.xxj.domain.vo;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import javax.validation.constraints.NotBlank;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@ApiModel("订单VO")
@Data
public class OrderVo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("订单主键ID")
    private Long id;

    @ApiModelProperty("课程主键ID/文创主键ID")
    private Long iid;

    @ApiModelProperty("订单种类：product-文创，class-课程")
    private String type;

    @ApiModelProperty("名称")
    private String name;

    @ApiModelProperty("图片")
    private String imgUrl;

    @ApiModelProperty("价格")
    private BigDecimal price;

    @ApiModelProperty("订单编号")
    private String orderNo;
    
    @ApiModelProperty("退款单号")
    private String refundNo;

    @ApiModelProperty("微信交易流水编号")
    private String wxpayTradeNo;

    @ApiModelProperty("支付状态：0-未支付；1-已支付；2-退款待审核；3-退款通过审核；4-拒绝退款；5-已退款；6-退款失败")
    private String payStatus;

    @ApiModelProperty("取消订单原因")
    private String cancelReason;

    @ApiModelProperty("拒绝取消订单原因")
    private String rejectCancelReason;

    @ApiModelProperty("订单创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    
    /**
     * 家长姓名
     */
    @ApiModelProperty("家长姓名")
    private String parentName;

    /**
     * 家长电话
     */
    @ApiModelProperty("家长电话")
    private String parentPhone;

    /**
     * 孩子名字
     */
    @ApiModelProperty("孩子名字")
    private String childName;

    /**
     * 孩子身份证
     */
    @ApiModelProperty("孩子身份证")
    private String childIdcard;

    /**
     * 孩子学校名称
     */
    @ApiModelProperty("孩子学校名称")
    private String childSchool;

    /**
     * 孩子年级
     */
    @ApiModelProperty("孩子年级")
    private String childGrade;

    /**
     * 孩子班级
     */
    @ApiModelProperty("孩子班级")
    private String childClass;
}
